package it.agm.fanta.adapter;

import it.agm.fanta.FantaserviceApp;
import it.agm.fanta.R;
import it.agm.fanta.activity.PartitaPagerActivity;
import it.agm.fanta.asynctask.jersey.patch.Callback;
import it.agm.fanta.asynctask.jersey.patch.NetworkHandler;
import it.agm.fanta.constants.Constants;
import it.agm.fanta.model.GiocatorePartitaLega;
import it.agm.fanta.model.Partita;

import java.util.ArrayList;
import java.util.Arrays;

import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TableRow;
import android.widget.TextView;

public class GiornataCalendarioCoppaAdapter extends ArrayAdapter<Partita> {
	
	public GiornataCalendarioCoppaAdapter(Context context, int textViewResourceId,
			ArrayList<Partita> objects) {
        super(context, textViewResourceId, objects);
    }

	@Override
    public View getView(int position, View convertView, ViewGroup parent) {
		
        LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(R.layout.row_partita_calendario, null);
        TableRow firstRow = (TableRow) convertView.findViewById(R.id.tabpartita);
        TextView squadracasa = (TextView)firstRow.findViewById(R.id.squadracasa);
        TextView golcasa = (TextView)firstRow.findViewById(R.id.golcasa);
        TextView squadrafuoricasa = (TextView)firstRow.findViewById(R.id.squadrafuoricasa);
        TextView golfuoricasa = (TextView)firstRow.findViewById(R.id.golfuoricasa);
        TextView idPartita = (TextView)firstRow.findViewById(R.id.idpartita);
        idPartita.setVisibility(View.GONE);
        Partita partita = getItem(position);
        
        squadracasa.setText("" + partita.getSquadracasa());
        golcasa.setText("" + partita.getGolsquadracasa());
        squadrafuoricasa.setText("" + partita.getSquadratrasferta());
        golfuoricasa.setText("" + partita.getGolsquadratrasferta());
        idPartita.setText("" + partita.getIdpartitalega());
        firstRow.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(final View v) {
            	TextView idPartita = (TextView)v.findViewById(R.id.idpartita);
            	if(idPartita != null){
            		idPartita.getText();
	            	
	            	NetworkHandler networkHandler = NetworkHandler.getInstance();
		        	GiocatorePartitaLega[] giocatoriPartita = null ;
		        	String url = Constants.URL_REST 	+ Constants.SERVICE_PARTITA_LEGA;
		        	FantaserviceApp.request.setIdpartitalega(""+idPartita.getText());
		        	FantaserviceApp.request.setCoppa(true);
		        	for (Partita partiteLega : FantaserviceApp.partiteCoppa.getPartite()) {
		        		if(("" + partiteLega.getIdpartitalega()).equals(idPartita.getText())){
		        			FantaserviceApp.partiteLegaCorrente = partiteLega;
		        		}
		        	}
					networkHandler.write(url, GiocatorePartitaLega[].class, giocatoriPartita,
							new Callback<GiocatorePartitaLega[]>() {
								@Override
								public void callback(GiocatorePartitaLega giocatoriPartita[]) {
									
									ArrayList<GiocatorePartitaLega> list = new ArrayList<GiocatorePartitaLega>(Arrays.asList(giocatoriPartita));
									FantaserviceApp.giocatorePartitaLega = list;
									Intent intent = new Intent(FantaserviceApp.currentActivity(), PartitaPagerActivity.class);
									intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
									FantaserviceApp.getAppContext().startActivity(intent);
								}
							});
            	}
               System.out.println(v);
            }  
           
        });
        return convertView;
    }
}
